﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using _MetalSlug.Weapons.Units;
using Microsoft.Xna.Framework;
using _MetalSlug.Mementoes;

namespace _MetalSlug.MyCharacters.Characters.Guns
{
    public class Gun
    {
        public enum TYPE
        {
            MINIGUN,
            SHOTGUN
        }

        protected TYPE typeOfGun;
        public TYPE TypeOfGun
        {
            get { return typeOfGun; }
        }

        protected int countBullet;
        public int CountBullet
        {
            get { return countBullet; }
        }

        public virtual List<Bullet> Fire(Vector2 TopLeft, Vector2 Direction)
        {
            return null;
        }

        public virtual void AddBullet(int ExtraBullet)
        {
        }

        public virtual void RestoreMemento(IMemento OldMemento)
        {
            GunMemento MyMemento = (GunMemento)OldMemento;
            typeOfGun = MyMemento.Type;
            countBullet = MyMemento.BulletCount;
        }

        public virtual Gun Clone()
        {
            return null;
        }

        public virtual void Copy(Gun Origin)
        {
            typeOfGun = Origin.TypeOfGun;
            countBullet = Origin.CountBullet;
        }
    }
}
